#pragma once

#include "FCProperties.h"

namespace UIStone
{
	class FCController_Layout : public FCPropertyContainer
		<
			Loki::TL::MakeTypelist
			<
				FCPropertyLayoutClear,
				FCPropertyLayoutFloat,
				FCPropertyLayoutCompress
			>::Result
		>
	{
	public:
		enum ClearType
		{
			CLEAR_NONE		= 0,
			CLEAR_LEFT		= 1,
			CLEAR_RIGHT		= 2,
			CLEAR_BOTH		= 3
		};

		enum FloatType
		{
			FLOAT_LEFT		= 0,
			FLOAT_RIGHT		= 1
		};

		enum CompressType
		{
			COMPRESS_NONE			= 0,
			COMPRESS_HORIZONTAL		= 1,
			COMPRESS_VERTICAL		= 2,
			COMPRESS_BOTH			= 3
		};

		FCController_Layout()
		{
			_defaultValue();
		}

		virtual ~FCController_Layout() {}

	private:
		void _defaultValue()
		{
			LayoutClear() = CLEAR_NONE;
			LayoutFloat() = FLOAT_LEFT;
			LayoutCompress() = COMPRESS_NONE;
		}
	};
};